package com.cloudkinto.bo.order.makeshop.getProduct;

import com.cloudkinto.annotate.GraphqlResultAttribute;
import lombok.Data;

import java.util.List;

/**
 * @author long
 * @Description 商品カテゴリ情報の明細データ
 * @Date 2025/4/26 13:44
 */
@Data
public class Category {

    /**
     * categoryUID - Uint64	カテゴリUID
     * isMainCategory - String	商品メインカテゴリーフラグ
     * categoryImage - String
     * カテゴリ別イメージ有無
     * <p>
     * Y: あり
     * categoryName - String	カテゴリ名
     * categoryTitle - String	メタタグのタイトル
     * productDisplayType - String	商品陳列デザイン
     * productDetailType - String	商品詳細デザイン
     * isMembersOnly - String
     * 会員専用可否
     * <p>
     * Y: 会員専用
     * N: 会員非専用
     * categorySort - String
     * カテゴリ名のソート順
     * <p>
     * 2000＋ソート順."-00-00 00:00:00"
     * <p>
     * productBaseSortType - String
     * 商品基本整列方法
     * <p>
     * order: 商品登録/修正日付順
     * brandname: 商品名順
     * product: 製造元順
     * price: 価格順
     * recommend: おすすめ順
     * estimateListOrder - Int64
     * 見積書リスト順
     * <p>
     * 999の場合は見積書リストに非表示
     * <p>
     * seoContents - String
     * SEO設定
     * <p>
     * 以下の内容を｜で連結
     * <p>
     * ブラウザタイトル
     * メタタグKeyword
     * メタタグDescription
     * メタタグAuthor
     * ボディタグ直下メッセージ
     * accessGroup - String
     * 会員グループID
     * <p>
     * アクセスを許可するグループコードを:区切りで連結。 IDが一つ以上ある場合、必ず最後に:が付与される。
     * <p>
     * isPcCategoryDisplay - String
     * PCカテゴリ一覧への表示可否
     * <p>
     * Y: 表示する
     * N: 表示しない
     * isMobileCategoryDisplay - String
     * スマートフォンカテゴリ一覧への表示
     * <p>
     * Y: 表示する
     * N: 表示しない
     * categoryDepth - String
     * カテゴリ階層
     * <p>
     * 1: 第1階層
     * 2: 第2階層
     * 3: 第3階層
     * 4: 第4階層
     * 5: 第5階層
     * category1 - Uint64
     * 第1階層カテゴリ
     * <p>
     * 第1階層のcategory_uid
     * <p>
     * category2 - Uint64
     * 第2階層カテゴリ
     * <p>
     * 第2階層のcategory_uid
     * <p>
     * category3 - Uint64
     * 第3階層カテゴリ
     * <p>
     * 第3階層のcategory_uid
     * <p>
     * category4 - Uint64
     * 第4階層カテゴリ
     * <p>
     * 第4階層のcategory_uid
     * <p>
     * category5 - Uint64
     * 第5階層カテゴリ
     * <p>
     * 第5階層のcategory_uid
     * <p>
     * categoryCode - String	任意の識別コード
     * categoryUrl - String	商品カテゴリー画面URLのパラメータ
     * categories - [Category]	商品カテゴリ情報
     */
    private Integer categoryUID;
    @GraphqlResultAttribute
    private String isMainCategory;
    private String categoryImage;
    @GraphqlResultAttribute
    private String categoryName;
    @GraphqlResultAttribute
    private String categoryTitle;
    private String productDisplayType;
    @GraphqlResultAttribute
    private String productDetailType;
    private String isMembersOnly;
    private String categorySort;
    private String productBaseSortType;
    private Integer estimateListOrder;
    private String seoContents;
    private String accessGroup;
    private String isPcCategoryDisplay;
    private String isMobileCategoryDisplay;
    private String categoryDepth;
    private Integer category1;
    private Integer category2;
    private Integer category3;
    private Integer category4;
    private Integer category5;
    private String categoryCode;
    private String categoryUrl;
    private List<Category> categories;
}
